home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 15 / macformat_15.iso / C de cerca / Codewarrior Lite / MacOS Support / Headers / ANSI Headers / float.h < prev    next >
Text File  |  1995-12-29  |  2KB  |  81 lines

  1. /* float.h standard header -- IEEE 754 version */
  2. #ifndef _FLOAT
  3. #define _FLOAT
  4. #ifndef _YVALS
  5. #include <yvals.h>
  6. #endif
  7.  
  8. #if __MWERKS__
  9. #pragma options align=mac68k
  10.  
  11. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  12. #pragma import on
  13. #endif
  14. #endif
  15.  
  16.         /* type definitions */
  17. typedef struct {
  18.     int _Ddig, _Dmdig, _Dmax10e, _Dmaxe, _Dmin10e, _Dmine;
  19.     union {
  20.         unsigned short _Us[6];
  21.         float _F;
  22.         double _D;
  23.         long double _Ld;
  24.         } _Deps, _Dmax, _Dmin;
  25.     } _Dvals;
  26.         /* declarations */
  27. extern const _Dvals _Dbl, _Flt, _Ldbl;
  28.         /* double properties */
  29. #define DBL_DIG            _Dbl._Ddig
  30. #define DBL_EPSILON        _Dbl._Deps._D
  31. #define DBL_MANT_DIG    _Dbl._Dmdig
  32. #define DBL_MAX            _Dbl._Dmax._D
  33. #define DBL_MAX_10_EXP    _Dbl._Dmax10e
  34. #define DBL_MAX_EXP        _Dbl._Dmaxe
  35. #define DBL_MIN            _Dbl._Dmin._D
  36. #define DBL_MIN_10_EXP    _Dbl._Dmin10e
  37. #define DBL_MIN_EXP        _Dbl._Dmine
  38.         /* float properties */
  39. #define FLT_DIG            _Flt._Ddig
  40. #define FLT_EPSILON        _Flt._Deps._F
  41. #define FLT_MANT_DIG    _Flt._Dmdig
  42. #define FLT_MAX            _Flt._Dmax._F
  43. #define FLT_MAX_10_EXP    _Flt._Dmax10e
  44. #define FLT_MAX_EXP        _Flt._Dmaxe
  45. #define FLT_MIN            _Flt._Dmin._F
  46. #define FLT_MIN_10_EXP    _Flt._Dmin10e
  47. #define FLT_MIN_EXP        _Flt._Dmine
  48.         /* common properties */
  49. #define FLT_RADIX        2
  50. #define FLT_ROUNDS        _FRND
  51.         /* long double properties */
  52. #define LDBL_DIG        _Ldbl._Ddig
  53. #define LDBL_EPSILON    _Ldbl._Deps._Ld
  54. #define LDBL_MANT_DIG    _Ldbl._Dmdig
  55. #define LDBL_MAX        _Ldbl._Dmax._Ld
  56. #define LDBL_MAX_10_EXP    _Ldbl._Dmax10e
  57. #define LDBL_MAX_EXP    _Ldbl._Dmaxe
  58. #define LDBL_MIN        _Ldbl._Dmin._Ld
  59. #define LDBL_MIN_10_EXP    _Ldbl._Dmin10e
  60. #define LDBL_MIN_EXP    _Ldbl._Dmine
  61.  
  62. #if __MWERKS__
  63. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  64. #pragma import reset
  65. #endif
  66.  
  67. #pragma options align=reset
  68. #endif
  69.  
  70. #endif
  71.  
  72. /*
  73.  * Copyright (c) 1994 by P.J. Plauger.  ALL RIGHTS RESERVED. 
  74.  * Consult your license regarding permissions and restrictions.
  75.  */
  76.  
  77. /* Change log:
  78.  *94June04 PlumHall baseline
  79.  *94Oct07 Inserted MW changes.
  80.  */
  81.